package com.seeTools.next.service.sys;

import com.seeTools.next.api.bo.sys.LoginRequest;
import com.seeTools.next.api.bo.wx.WechatLoginRequest;
import com.seeTools.next.api.entity.sys.SysUser;

/**
 * 系统登录接口
 *
 * @author xiaotong
 */
public interface ISysLoginService {

    /**
     * 用户登录
     *
     * @param loginRequest loginRequest
     * @return 用户信息
     */
    SysUser login(LoginRequest loginRequest, String type);

    /**
     * 微信登录
     * @param request
     * @param type
     * @return
     */
    SysUser wechatLogin(WechatLoginRequest request, String type);

    /**
     * 用户登出
     */
    void logout();

    /**
     * 获取登录用户信息
     *
     * @return SysUser
     */
    SysUser getUserInfo();

    /**
     * 获取登录用户的租户ID
     *
     * @return tenantId
     */
    Long getLoginTenantId();

    /**
     * 获取登录用户的ID
     *
     * @return userId
     */
    Long getLoginUserId();
}
